using MediatR;
using S.O.ErrorCode;

namespace S.O.Api.Write.Application.Command.Medical
{
    /// <summary>
    /// 取消挂号记录命令
    /// 支持患者取消已预约的挂号，释放医生时间资源
    /// </summary>
    public class CancelRegistrationCommand : IRequest<APIResult<bool>>
    {
        /// <summary>
        /// 挂号记录ID
        /// </summary>
        public long Id { get; set; }
        
        /// <summary>
        /// 取消原因
        /// </summary>
        public string CancelReason { get; set; } = string.Empty;
        
        /// <summary>
        /// 是否退费
        /// </summary>
        public bool IsRefund { get; set; } = true;
    }
}